为什么显示不对C语言网!

为什么显示不对C语言网

趋势迷

为什么显示不对C语言

2024-08-13 05:27:24 来源:网络

为什么显示不对C语言

C语言为什么输出结果不对啊? -
printf("%d ", &n)输出的是n的地址不是值,把&去掉,改成printf("%d ",n);
肯定不对啊!你输入的时候是单精度浮点数类型,c语言中变量就是float类型,输入使用的格式是%f。不同的变量类型在内存中的储存方式也完全不同,当你用整型格式(int)去读一个浮点格式(float)的数字时,不可能读出正确的结果。所以,你必须用跟输入时相同的格式(f)输出(另外,还必须跟变量的类型有帮助请点赞。

为什么显示不对C语言

用C语言编程程序没有错误为什么结果不对 -
可能是你的算法设计的不当,不能正确的解决问题,这样发生的错误是运行期错误,在编译连接的过程不会出错的,不过幸好,编译器也为我们提供了一些解决类似运行期错误的一些调试工具,通过debug,进行单步调试下,观察变量值,看看是不是你想要的等等解决此类问题,具体如何单步调试见下面:不过你先要设置断点,有帮助请点赞。
你的主函数main 里的输入输出语句的标示符%1d写错了,应该是%ld(小写的LD)而不是%1d(数字1小写D),把main函数中的scanf("%1d",&n);改成scanf("%ld",&n); 把printf("\nThe result is:%1d\n",get_even(n));改成printf("\nThe result is:%ld\n",get_even(n));就没有问题了.
C语言 没error,但输出结果不对,这是肿么了 -
你太粗心大意了,都是格式的错误scanf("%d,&d,%d",&a,&b,&c);改成scanf("%d,%d,%d",&a,&b,&c);printf("max=%d\n",&n);改成printf("max=%d\n",n);你那样输出的是n的地址。还有你的逻辑也有一点错误f(a>b) return 0;这个地方应该返回a,不是0到此结束了?。.
这是浮点数精度的问题因为浮点数不能完整的表示出来精确的小数,你可以通过小数转换成二进制体会到,
C语言从文件读取10个数选择排序后输出,为什么我的输出结果不对呢?
读入和排序不能写在一个for循环中,因为后面数据还未读到无法进行整体排序要先用一个for循环将所有数据读入到数组,再用两个for循环对数组整体进行排序而且fscanf读入数组每个数的地址要用&a[i] 或a+i,a代表&a[0],所以用&a是不对的修改后的代码和运行结果如下:代码中先将测试数据写入等会说。
include <stdio.h>int main(){double sum=0; int sign=1;for(int i=1;i<=100;i++){if(i%2==0)sign=-1;elsesign=1;//否则要重置为1才对,这样才能保证一正一负交替sum+=sign*(1.0/i);}printf("%lf\n",sum);return 0;} 等会说。
c语言输出不对 -
因为计算机中存储的空间限制,float只能保证7位有效数字。所以不能用%15.12f来输出一个float值,否则得到的多于有效位的数字没有意义。如果需要使用比7位更多的有效数字,应该使用double。它可以保证有15位的有效数字。
打开一个写指针后再立刻打开读指针往往是失败的,你的代码对任何返回值都不做检查,本身就是问题,否则你早发现了。fpr的打开应该再fclose(fpw)之后进行,不能以读和写的方式同时打开文件,